#include <stdio.h>
#include "map.h"

// typedef int (*hashmap_callback)(const void* key, size_t ksize, uintptr_t value, void* usr)
//  定义带正确参数的回调函数
int print_entry(const void* key, size_t ksize, uintptr_t value, void* usr)
{
        // 打印条目的键和值
        // 假设键是一个空终止字符串
        printf("Entry \"%s\": %i\n", key, value);

        return 0;
}

int main(int argc, char* argv[])
{
        hashmap* m = hashmap_create();
        // 将值`400`与键"hello"相关联
        hashmap_set(m, "hello", sizeof("hello") - 1, 400);  // 如果忽略空终止符则减去1

        

        /*
        ...
        */

        // 打印每个条目的键和值
        hashmap_iterate(m, print_entry, NULL);
        hashmap_free(m);
        return 0;
}